#! /bin/sh
############################################################
## Copyright (c) 2007-2009 - OpenSmartHome.com - WOSH
## All rights reserved.
##  open source, founded by Alessandro Polo
##  http://www.OpenSmartHome.com
##  http://www.AlessandroPolo.name
############################################################
## Script used to control PPPoE driver on NIX systems.
## See class wosh::devices::ModemDsl
############################################################
#                                              CONFIGURATION
COMMAND=$1
RETURN=10
VERBOSE=FALSE
#                                              CONFIGURATION
############################################################
############################################################
#                                                  FUNCTIONS
function log
 {
	if [ "$VERBOSE" == "TRUE" ]; then
		echo "$1";
	fi
 }
#                                                  FUNCTIONS
############################################################
############################################################

if [ "$COMMAND" == "connect" ]; then

	log "Connecting: (pon)" 

	DONE=`pon dsl-provider`
	RETURN=0

elif [ "$COMMAND" == "disconnect" ]; then

	log "Disconnecting: (poff)" 

	DONE=`poff`
	RETURN=0

elif [ "$COMMAND" == "reconnect" ]; then

	log "Reconnecting: PPPoE Control tool (poff, pon)" 

	DONE=`poff`
	DONE=`pon dsl-provider`
	RETURN=0

elif [ "$COMMAND" == "check" ]; then

	REMOTE_HOST=$2
	if [ "$REMOTE_HOST" = "" ]; then
		REMOTE_HOST="google.com"
	fi

	log "Checking Connection: Pinging $REMOTE_HOST" 

	DONE=`ping -c1 $REMOTE_HOST 2>&1 | grep unknown`
	if [ "$DONE" = "" ]; then
		log "CONNECTED: Ping Succeded";
		RETURN=0
	else
		log "DISCONNECTED: Ping Failed.";
		log $DONE
		RETURN=1
	fi


#elif [ "$COMMAND" == "stats" ]; then
# pppstats

else
	log "Unknown Command: $COMMAND" 

fi

############################################################
############################################################

log "Exiting CODE: $RETURN" 
exit $RETURN
